package org.edu.modules.oa.service.impl;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.edu.modules.oa.entity.VeOaMeetEntity;
import org.edu.modules.oa.entity.VeOaMeetUsersEntity;
import org.edu.modules.oa.mapper.IVeOaMeetCheckMapper;
import org.edu.modules.oa.mapper.IVeOaMeetUsersMapper;
import org.edu.modules.oa.service.IVeOaMeetCheckService;
import org.edu.modules.oa.vo.VeOaMeetCheckTableVo;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;

@Service
/*会议场地Server接口*/
public class VeOaMeetCheckImpI implements IVeOaMeetCheckService {
    @Resource
    private IVeOaMeetCheckMapper iVeOaMeetCheckMapper;// 会议审核表Mapper

    @Resource
    private IVeOaMeetUsersMapper veOaMeetUsersMapper;// 会议人员Mapper
    @Override
    public HashMap<String, Object> showTable(VeOaMeetCheckTableVo veOaMeetCheckTableVo, Integer current, Integer pageSize) {
        // 查询会议审核表格
        List<VeOaMeetCheckTableVo> voList=iVeOaMeetCheckMapper.showTable((current-1)*pageSize,pageSize,veOaMeetCheckTableVo);

        for ( VeOaMeetCheckTableVo tableVo  :voList){
            QueryWrapper<VeOaMeetUsersEntity> wrapper = new QueryWrapper<>();
            wrapper.eq("meet_id", tableVo.getId());
            List<VeOaMeetUsersEntity> list = veOaMeetUsersMapper.selectList(wrapper);
            String userName = "";
            for (VeOaMeetUsersEntity v : list) {
                userName += v.getUserName()+",";
            }
            tableVo.setUserName(userName);
            tableVo.setMeetTime(tableVo.getStartTime()+"至"+tableVo.getEndTime());
        }
        Integer count =iVeOaMeetCheckMapper.tableCount(veOaMeetCheckTableVo);
        // 把查出来的东西存到map里面去
        HashMap<String , Object> map = new HashMap<>();
        map.put("list",voList);
        map.put("count",count);

        // 查询表格总行数
        return map;
    }

    @Override
    public List<String> meetPassed(VeOaMeetCheckTableVo veOaMeetCheckTableVo) {
        List<String> result =  iVeOaMeetCheckMapper.meetPassed(veOaMeetCheckTableVo);
        System.out.println("============================"+result);
        return result;
    }

    @Override
    public Integer alterState(VeOaMeetEntity veOaMeetEntity) {

        return  iVeOaMeetCheckMapper.updateById(veOaMeetEntity);
    }
}